#include "playscene.h"
#include<QDebug>
#include<QMenuBar>
#include<QPainter>
#include<pushbutton.h>
#include<QTimer>
#include<QLabel>
#include<mycoin.h>
//PlayScene::PlayScene(QWidget *parent) : QMainWindow(parent)
//{

//}
PlayScene::PlayScene(int levelNum)
{
    QString str=QString("进入了第 % 1关").arg(levelNum);
    qDebug()<<str;
    this->levelIndex=levelNum;

    //初始化游戏场景
    //设置固定大小
    this->setFixedSize(430,670);
    //设置图标
    this->setWindowIcon(QPixmap(":/new/prefix1/pic/coind.png"));
    //设置标题
    this->setWindowTitle("开玩啦");

    //创建菜单栏
      QMenuBar * bar=menuBar();
      setMenuBar(bar);
    //创建开始菜单
     QMenu * startMenu=bar->addMenu("开始");
     //创建退出菜单项
     QAction * quitAction=startMenu->addAction("坚持就是胜利");

     //点击退出，实现退出游戏
     connect(quitAction,&QAction::triggered,[=](){
         this->close();
     });


     //返回按钮
     pushbutton * backBtn = new pushbutton(":/new/prefix1/pic/BackButton.png",":/new/prefix1/pic/BackButtonSelected.png");
     backBtn->setParent(this);
     backBtn->move(this->width()-backBtn->width(),this->height()-backBtn->height());//横纵坐标

     //点击返回
     connect(backBtn,&pushbutton::clicked,[=](){
         qDebug() <<"翻金币场景中：点击了返回按钮";
         //告诉主场景 我返回了 主场景要监听一下chooselevelscene的返回
         //延时返回
         QTimer::singleShot(300,this,[=](){
          emit this->ChooseSceneBack();
        });

       });


     //显示当前关卡数字体
     QLabel * label=new QLabel;
     label->setParent(this);
     QFont font;
     font.setFamily("华文新魏");
     font.setPointSize(15);//字体大小
     QString str1 =QString("Level:%1").arg(this->levelIndex);
     //将字体设置到标签控件中
     label->setFont(font);
     label->setText(str1);
     label->setGeometry(30,this->height()-50,120,50);




     //显示金币背景图案
     for(int i=0;i<4;i++)
     {
         for(int j=0;j<4;j++)
         {
             //绘制背景图片
             QPixmap pix=QPixmap(":/new/prefix1/pic/BoardNode.png");
             QLabel *label=new QLabel;
             label->setGeometry(0,0,pix.width() ,pix.height() );
             label->setPixmap(pix);
             label->setParent(this);
             label->move(115+i*50,250+j*50);


             //创建金币
             QString str;
            /* if(this->gameArray[i][j]==1)
             {
                 str=":/new/prefix1/pic/Coin0001.png";
             }
             else
             {
                 str=":/res/Coin0008.png";
             }
 */
             MyCoin *coin=new MyCoin(":/new/prefix1/pic/Coin0001.png");
             coin->setParent(this);
             coin->move(117+i*50,252+j*50);


         }
     }

}



void PlayScene::paintEvent(QPaintEvent *){
    //创建背景
    QPainter painter(this);
    QPixmap pix;
    pix.load(":/new/prefix1/pic/back1");
    painter.drawPixmap(0,0,this->width(),this->height(),pix);

    //画背景上的图标
    pix.load(":/new/prefix1/pic/omo.png");
    pix = pix.scaled((int)pix.width()/2,(int)pix.height()/2);
    painter.drawPixmap(20,30,pix);

}
